<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="../../vue.js"></script>
    <title>Document</title>
</head>

<body>
    <!-- 回顾Object.defineproperty方法 -->
    <script>
        let number = 18
        let person = {
            name:'lyl',
            sex:'男'
        }
        Object.defineProperty(person,'age',{   //三个参数,传入的对象,传入的属性或者方法,配置项  --age不能参与遍历
            // value:18,
            // enumerable:true, //控制属性是否可以枚举(遍历)  默认值flase
            // writable:true,  // 控制属性是否可以修改  默认值flase
            // configurable:true, //控制属性是否可以被删除  默认值false
            // 当有人读取person的age属性时,get函数(getter)才会被调用,且返回值就是age的值
            get () {
                return number
            },

            //当有人修改person的age属性时,set函数(setter)就会被调用,且会收到修改的具体值
            set(value) {
                console.log('有人修改了属性')
            }
        })
        console.log(person)
        // console.log(Object.keys(person))   //Object.keys 将对象中的属性值遍历存入数组中

    </script>
</body>

</html>